package string;

import java.util.Arrays;

/**
 * String支持正则表达式的方法二:
 * String[] split(String regex)
 * 将当前字符串按照满足正则表达式的部分进行拆分，将拆分出的每段内容存入数组并返回
 */
public class SplitDemo {
    public static void main(String[] args) {
        String str = "abc123def456ghi";
        //拆分出所有的字母部分
        String[] arr = str.split("[0-9]+");
        System.out.println(Arrays.toString(arr));
        //通常按照特定字符拆分时，直接指定该字符即可
        str = "abc,def,ghi";
        arr = str.split(",");
        System.out.println(Arrays.toString(arr));
        //"."在正则中的含义是任意字符，需要转义才能使用。
        str = "abc.def.ghi";
        arr = str.split("\\.");
        System.out.println(Arrays.toString(arr));
        /*
            split拆分时有以下几种情况:
            1:若连续遇到可拆分项时，他们之间会拆分出一个空字符串
            2:字符串一开始就是可拆分项时，那么会先拆分出一个空字符串
            3:若字符串末尾连续出现可拆分项，那么所有拆分出来的空字符串全部忽略!
         */
        str = ",abc,,,def,ghi,,,";
        arr = str.split(",");
        System.out.println(arr.length);
        System.out.println(Arrays.toString(arr));

    }
}






